package com.ruoyi.common.core.domain.entity;

import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 部门表 sys_dept
 *
 * @author ruoyi
 */
public class SysDept extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 部门ID */
    private Long deptId;

    /** 父部门ID */
    private Long parentId;

    /** 祖级列表 */
    private String ancestors;

    /** 部门名称 */
    private String deptName;

    /** 显示顺序 */
    private Integer orderNum;

    /** 负责人 */
    private String leader;

    /** 联系电话 */
    private String phone;

    /** 邮箱 */
    private String email;

    /** 部门状态:0正常,1停用 */
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 父部门名称 */
    private String parentName;

    /** 部门类型 1市级部门2区县级部门3驾校 */
    private String type;

    /** 部门所属区域id */
    private Long area;

    /** 部门所属区域名称 */
    private String areaName;

    private String code;
    private String address;
    private String introduction;
    private String procedureGuide;
    private String videoUrl;
    private String coverPic;
    private String[] mainPic;
    private String longitude;
    private String latitude;
    private String mapLocation;
    private String legalPerson;
    private String rank;
    private String licenseNo;
    private String businessScope;
    private String sign;
    private String passRate;
    private String students;
    private String satisfaction;
    private String startRating;
    private String relationId;
    private String editStatus;
    private String uuid;
    private String totalCount;
    private String returnCount;
    private String authorization;
    private String full;
    private String ing;
    private String no;
    private String allNum;
    private String c1Num;
    private String c2Num;
    private String b1Num;
    private String b2Num;
    private String a1Num;
    private String a2Num;
    private String a3Num;
    private String inscode;
    private String signStatus;
    private String signNum;
    private String orgIdCardNum;
    private String orgIdCardType;
    private String legalRepIdCardNum;
    private String legalRepIdCardType;
    private String psnAccount;
    private String psnName;
    private String psnIdCardNum;
    private String psnIdCardType;
    private String psnMobile;
    private String sealStatus;
    private String orgId;

    /** 审核表记录的原驾校id */
    private String schoolId;

    /** 子部门 */
    private List<SysDept> children = new ArrayList<SysDept>();

    public Long getDeptId()
    {
        return deptId;
    }

    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getParentId()
    {
        return parentId;
    }

    public void setParentId(Long parentId)
    {
        this.parentId = parentId;
    }

    public String getAncestors()
    {
        return ancestors;
    }

    public void setAncestors(String ancestors)
    {
        this.ancestors = ancestors;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Long getArea() {
        return area;
    }

    public void setArea(Long area) {
        this.area = area;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    @NotBlank(message = "部门名称不能为空")
    @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")
    public String getDeptName()
    {
        return deptName;
    }

    public void setDeptName(String deptName)
    {
        this.deptName = deptName;
    }

    @NotNull(message = "显示顺序不能为空")
    public Integer getOrderNum()
    {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum)
    {
        this.orderNum = orderNum;
    }

    public String getLeader()
    {
        return leader;
    }

    public void setLeader(String leader)
    {
        this.leader = leader;
    }

    @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
    public String getPhone()
    {
        return phone;
    }

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    @Email(message = "邮箱格式不正确")
    @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
    public String getEmail()
    {
        return email;
    }

    public void setEmail(String email)
    {
        this.email = email;
    }

    public String getStatus()
    {
        return status;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getParentName()
    {
        return parentName;
    }

    public void setParentName(String parentName)
    {
        this.parentName = parentName;
    }

    public List<SysDept> getChildren()
    {
        return children;
    }

    public void setChildren(List<SysDept> children)
    {
        this.children = children;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deptId", getDeptId())
            .append("parentId", getParentId())
            .append("ancestors", getAncestors())
            .append("deptName", getDeptName())
            .append("orderNum", getOrderNum())
            .append("leader", getLeader())
            .append("phone", getPhone())
            .append("email", getEmail())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getProcedureGuide() {
        return procedureGuide;
    }

    public void setProcedureGuide(String procedureGuide) {
        this.procedureGuide = procedureGuide;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public String getCoverPic() {
        return coverPic;
    }

    public void setCoverPic(String coverPic) {
        this.coverPic = coverPic;
    }

    public String[] getMainPic() {
        return mainPic;
    }

    public void setMainPic(String[] mainPic) {
        this.mainPic = mainPic;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getMapLocation() {
        return mapLocation;
    }

    public void setMapLocation(String mapLocation) {
        this.mapLocation = mapLocation;
    }

    public String getLegalPerson() {
        return legalPerson;
    }

    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }

    public String getRank() {
        return rank;
    }

    public void setRank(String rank) {
        this.rank = rank;
    }

    public String getLicenseNo() {
        return licenseNo;
    }

    public void setLicenseNo(String licenseNo) {
        this.licenseNo = licenseNo;
    }

    public String getBusinessScope() {
        return businessScope;
    }

    public void setBusinessScope(String businessScope) {
        this.businessScope = businessScope;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getPassRate() {
        return passRate;
    }

    public void setPassRate(String passRate) {
        this.passRate = passRate;
    }

    public String getStudents() {
        return students;
    }

    public void setStudents(String students) {
        this.students = students;
    }

    public String getSatisfaction() {
        return satisfaction;
    }

    public void setSatisfaction(String satisfaction) {
        this.satisfaction = satisfaction;
    }

    public String getStartRating() {
        return startRating;
    }

    public void setStartRating(String startRating) {
        this.startRating = startRating;
    }

    public String getRelationId() {
        return relationId;
    }

    public void setRelationId(String relationId) {
        this.relationId = relationId;
    }

    public String getEditStatus() {
        return editStatus;
    }

    public void setEditStatus(String editStatus) {
        this.editStatus = editStatus;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(String totalCount) {
        this.totalCount = totalCount;
    }

    public String getReturnCount() {
        return returnCount;
    }

    public void setReturnCount(String returnCount) {
        this.returnCount = returnCount;
    }

    public String getAuthorization() {
        return authorization;
    }

    public void setAuthorization(String authorization) {
        this.authorization = authorization;
    }

    public String getFull() {
        return full;
    }

    public void setFull(String full) {
        this.full = full;
    }

    public String getIng() {
        return ing;
    }

    public void setIng(String ing) {
        this.ing = ing;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public String getAllNum() {
        return allNum;
    }

    public void setAllNum(String allNum) {
        this.allNum = allNum;
    }

    public String getC1Num() {
        return c1Num;
    }

    public void setC1Num(String c1Num) {
        this.c1Num = c1Num;
    }

    public String getC2Num() {
        return c2Num;
    }

    public void setC2Num(String c2Num) {
        this.c2Num = c2Num;
    }

    public String getB1Num() {
        return b1Num;
    }

    public void setB1Num(String b1Num) {
        this.b1Num = b1Num;
    }

    public String getB2Num() {
        return b2Num;
    }

    public void setB2Num(String b2Num) {
        this.b2Num = b2Num;
    }

    public String getA1Num() {
        return a1Num;
    }

    public void setA1Num(String a1Num) {
        this.a1Num = a1Num;
    }

    public String getA2Num() {
        return a2Num;
    }

    public void setA2Num(String a2Num) {
        this.a2Num = a2Num;
    }

    public String getA3Num() {
        return a3Num;
    }

    public void setA3Num(String a3Num) {
        this.a3Num = a3Num;
    }

    public String getInscode() {
        return inscode;
    }

    public void setInscode(String inscode) {
        this.inscode = inscode;
    }

    public String getSignStatus() {
        return signStatus;
    }

    public void setSignStatus(String signStatus) {
        this.signStatus = signStatus;
    }

    public String getSignNum() {
        return signNum;
    }

    public void setSignNum(String signNum) {
        this.signNum = signNum;
    }

    public String getOrgIdCardNum() {
        return orgIdCardNum;
    }

    public void setOrgIdCardNum(String orgIdCardNum) {
        this.orgIdCardNum = orgIdCardNum;
    }

    public String getOrgIdCardType() {
        return orgIdCardType;
    }

    public void setOrgIdCardType(String orgIdCardType) {
        this.orgIdCardType = orgIdCardType;
    }

    public String getLegalRepIdCardNum() {
        return legalRepIdCardNum;
    }

    public void setLegalRepIdCardNum(String legalRepIdCardNum) {
        this.legalRepIdCardNum = legalRepIdCardNum;
    }

    public String getLegalRepIdCardType() {
        return legalRepIdCardType;
    }

    public void setLegalRepIdCardType(String legalRepIdCardType) {
        this.legalRepIdCardType = legalRepIdCardType;
    }

    public String getPsnAccount() {
        return psnAccount;
    }

    public void setPsnAccount(String psnAccount) {
        this.psnAccount = psnAccount;
    }

    public String getPsnName() {
        return psnName;
    }

    public void setPsnName(String psnName) {
        this.psnName = psnName;
    }

    public String getPsnIdCardNum() {
        return psnIdCardNum;
    }

    public void setPsnIdCardNum(String psnIdCardNum) {
        this.psnIdCardNum = psnIdCardNum;
    }

    public String getPsnIdCardType() {
        return psnIdCardType;
    }

    public void setPsnIdCardType(String psnIdCardType) {
        this.psnIdCardType = psnIdCardType;
    }

    public String getPsnMobile() {
        return psnMobile;
    }

    public void setPsnMobile(String psnMobile) {
        this.psnMobile = psnMobile;
    }

    public String getSealStatus() {
        return sealStatus;
    }

    public void setSealStatus(String sealStatus) {
        this.sealStatus = sealStatus;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }
}
